package com.peas.platform.module.icims.expenditure.expenses.api.req;

import com.peas.platform.module.icims.base.approve.controller.vo.ApproveOrderNodeVo;
import com.peas.platform.module.icims.expenditure.expenses.controller.vo.*;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.List;

@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel("提交报账单")
public class SubmitExpenditureReimbursementReq extends ExpenditureReimbursementVo {

    @ApiModelProperty(value = "报账费用类型-差旅")
    private List<ExpenditureReimbursementTravelVo> travels;
    @ApiModelProperty(value = "报账费用类型-合同")
    private List<ExpenditureReimbursementContractVo> contracts;
    @ApiModelProperty(value = "报账费用类型-会议")
    private List<ExpenditureReimbursementMeetingVo> meetings;
    @ApiModelProperty(value = "报账费用类型-培训")
    private List<ExpenditureReimbursementTrainingVo> trainings;
    @ApiModelProperty(value = "报账费用类型-交通")
    private List<ExpenditureReimbursementTrafficVo> traffics;
    @ApiModelProperty(value = "报账费用类型-出国")
    private List<ExpenditureReimbursementAbroadVo> abroads;
    @ApiModelProperty(value = "报账费用类型-其他")
    private List<ExpenditureReimbursementOtherVo> others;

    @ApiModelProperty(value = "报账明细附件")
    private List<ExpenditureReimbursementItemFileVo> itemFiles;

    @ApiModelProperty(value = "报账支出信息")
    private List<ExpenditureReimbursementPayVo> pays;
    @ApiModelProperty(value = "报账收款方信息")
    private List<ExpenditureReimbursementPayeeVo> payees;

    private List<ExpenditureReimbursementFileVo> files;

    @ApiModelProperty(value = "审批流程ID")
    private Long approveId;

    @ApiModelProperty(value = "审批流程节点")
    private List<ApproveOrderNodeVo> approveNodes;

}
